#ifndef PARSER_H_INCLUDED
#define PARSER_H_INCLUDED
#include "Scanner.h"
#include "SymbolTable.h"
#include "CodeGenerator.h"

/* Parser */
function initParser(char filename[]);
function clearParser();
function simpleAllStars();
function involve();
function sequence();
function statementSequence();
function statement();
function expression(struct Item ptr result);
function simpleExpression();
function term();
function factor();
function selector();
function whileStatement();
function ifStatement();
function actualParameters();
function declaration();
function fieldDeclaration(struct SymTab ptr symTab);
function identList(struct Type ptr type, int constant, int pointer);
function fieldIdentList(struct Type ptr type, struct SymTab ptr symTab, int pointer);
function structure();
function procedureDeclaration();
struct Type ptr typ(int ptr constant, int ptr pointer);
function fieldType();
function body();
function formalParameters(struct SymTab ptr symTab);


#endif // PARSER_H_INCLUDED
